Visualización Intercativa de Datos Geográficos#
Librerías#
import pandas as pd
import plotly.express as px
import ssl
from plotly.offline import plot
from IPython.display import IFrame
ssl._create_default_https_context = ssl._create_unverified_context
1. Cargar el dataset de producción#
energia = pd.read_csv('https://raw.githubusercontent.com/lihkir/Uninorte/main/AppliedStatisticMS/DataVisualizationRPython/Lectures/Python/PythonDataSets/share-of-electricity-production-from-renewable-sources.csv')
energia.head()
| Country | Code | Year | Renewable electricity (% electricity production) | |
|---|---|---|---|---|
| 0 | Afghanistan | AFG | 1990 | 67.730496 |
| 1 | Afghanistan | AFG | 1991 | 67.980296 |
| 2 | Afghanistan | AFG | 1992 | 67.994310 |
| 3 | Afghanistan | AFG | 1993 | 68.345324 |
| 4 | Afghanistan | AFG | 1994 | 68.704512 |
2. Ordenar el Dataframe de producción en función de la característica Year.#
df_ordenado = energia.sort_values(by='Year')
df_ordenado
| Country | Code | Year | Renewable electricity (% electricity production) | |
|---|---|---|---|---|
| 0 | Afghanistan | AFG | 1990 | 67.730496 |
| 1668 | France | FRA | 1990 | 13.369879 |
| 1643 | Finland | FIN | 1990 | 29.451790 |
| 1618 | Fiji | FJI | 1990 | 82.441113 |
| 1593 | Faeroe Islands | FRO | 1990 | 35.545024 |
| ... | ... | ... | ... | ... |
| 2707 | Lebanon | LBN | 2014 | 1.075089 |
| 919 | Central African Republic | CAF | 2014 | 85.792350 |
| 2682 | Latvia | LVA | 2014 | 54.541918 |
| 4743 | Switzerland | CHE | 2014 | 58.015463 |
| 5406 | Zimbabwe | ZWE | 2014 | 55.622069 |
5407 rows × 4 columns
3. Generar un mapa de coropletas para la producción de energía renovable en función del Year.#
fig = px.choropleth(df_ordenado,
locations='Code',
color='Renewable electricity (% electricity production)',
hover_name='Country',
animation_frame='Year',
color_continuous_scale=px.colors.sequential.Plasma)
fig.show()
4. Actualice el diseño para incluir un estilo de proyección adecuado y un texto de título, y luego muestre la figura.#
fig = px.choropleth(df_ordenado,
locations='Code',
color='Renewable electricity (% electricity production)',
hover_name='Country',
animation_frame='Year',
color_continuous_scale=px.colors.sequential.Plasma,
title='Producción de Energía Renovable por Región y Año',
labels={'Renewable electricity (% electricity production)': 'Renewable electricity'})
fig.update_layout(
title=dict(x=0.5),
geo=dict(
showframe=False,
showcoastlines=False
),
autosize=False,
width=1000,
height=800
)
fig.show()
Se observa que a medida que pasan los años, la tendecia a incorporar energías renovables va en aumento. Sobretodo en los países de América y Europa.
5. Cargar el Dataset de consumo de energía renovable#
consumo = pd.read_csv('https://raw.githubusercontent.com/lihkir/Uninorte/main/AppliedStatisticMS/DataVisualizationRPython/Lectures/Python/PythonDataSets/renewable-energy-consumption-by-country.csv')
consumo.head()
| Country | Code | Year | Traditional biofuels | Other renewables (modern biofuels, geothermal, wave & tidal) | Wind | Solar PV | Hydropower | Total | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | Algeria | DZA | 1965 | NaN | 0.0 | 0.0 | 0.0 | NaN | 0.0 |
| 1 | Algeria | DZA | 1966 | NaN | 0.0 | 0.0 | 0.0 | NaN | 0.0 |
| 2 | Algeria | DZA | 1967 | NaN | 0.0 | 0.0 | 0.0 | NaN | 0.0 |
| 3 | Algeria | DZA | 1968 | NaN | 0.0 | 0.0 | 0.0 | NaN | 0.0 |
| 4 | Algeria | DZA | 1969 | NaN | 0.0 | 0.0 | 0.0 | NaN | 0.0 |
7. Ordenar el DataFrame de consumo en base a la característica Year.#
df_ordenado = consumo.sort_values(by='Year')
df_ordenado
| Country | Code | Year | Traditional biofuels | Other renewables (modern biofuels, geothermal, wave & tidal) | Wind | Solar PV | Hydropower | Total | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | Algeria | DZA | 1965 | NaN | 0.000000 | 0.000000 | 0.000000 | NaN | 0.000000 |
| 1364 | Ireland | IRL | 1965 | NaN | 0.000000 | 0.000000 | 0.000000 | NaN | 0.000000 |
| 2656 | Sweden | SWE | 1965 | NaN | 0.000000 | 0.000000 | 0.000000 | NaN | 0.000000 |
| 1416 | Israel | ISR | 1965 | NaN | 0.000000 | 0.000000 | 0.000000 | NaN | 0.000000 |
| 1468 | Italy | ITA | 1965 | NaN | 2.676000 | 0.000000 | 0.000000 | NaN | 2.676000 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 947 | Finland | FIN | 2016 | NaN | 11.794548 | 3.068000 | 0.013462 | NaN | 14.876009 |
| 155 | Australia | AUS | 2016 | NaN | 3.352482 | 13.190887 | 7.157880 | NaN | 23.701249 |
| 2863 | Thailand | THA | 2016 | NaN | 9.649613 | 0.465826 | 2.334719 | NaN | 12.450158 |
| 2603 | South Korea | KOR | 2016 | NaN | 12.018676 | 1.779674 | 5.236650 | NaN | 19.035000 |
| 3343 | Vietnam | VNM | 2016 | NaN | 0.059162 | 0.241540 | 0.007170 | NaN | 0.307871 |
3344 rows × 9 columns
8. Generar un mapa coroplético para el consumo de energía renovable utilizando el módulo plotly express animado en función del año.#
fig = px.choropleth(df_ordenado,
locations='Code',
color='Total',
hover_name='Country',
animation_frame='Year',
color_continuous_scale=px.colors.sequential.Plasma)
fig.show()
9. Actualice el diseño para incluir un estilo de proyección adecuado y un texto de título, y luego muestre la figura.#
fig = px.choropleth(df_ordenado,
locations='Code',
color='Total',
hover_name='Country',
animation_frame='Year',
color_continuous_scale=px.colors.sequential.Plasma,
title='Consumo de Energía Renovable por Región y Año')
fig.update_layout(
title=dict(x=0.5),
geo=dict(
showframe=False,
showcoastlines=False
),
autosize=False,
width=1000,
height=800
)
fig.show()
Se observa que a medida que pasan los años la tendencia general de los países es aumentar el consumo en energías renovables.